In hop-by-hop packet routing systems, which make up the vast majority of current Internet Protocol (IP) routing systems, each router independently selects the outgoing path for the communications. “Asymmetric routing” refers to a situation when traffic does not traverse the same path in both directions of a conversation. While routing protocols ensure that loops are avoided, the symmetry of bidirectional traffic flows cannot be guaranteed when destination prefixes are reachable by multiple paths. In fact, asymmetric routing is inherent in IP networks because it is often beneficial for the path decision to be unidirectional, e.g. in order to minimize state and maximize performance.
However, asymmetric routing can create problems in the network for network features and services that need to act on both directions of the flow. Some examples of such features and services include firewalls, stateful features such as e.g. Network Address Translation (NAT), and other inspection features such as e.g. Network-Based Application Recognition (NBAR) and Application Response Time (ART). When packets following one routing path to go from client to server, but another routing path to return to the client from the server, such features and services may be compromised or even completely dysfunctional.